草庐IT

JavaScript typeof, null, 和 undefined

全部标签

javascript - 如何解决这个 "Uncaught TypeError: Cannot convert undefined or null to object "

我的功能是:functioncollect_que_ids(e){varval=e.val();vardata_lo=e.attr('data-lo');new_hash={};new_hash[val]=data_lo;if(e.is(':checked')){if(checked_box_hash.includes(new_hash)){checked_box_hash;}else{checked_box_hash.push(new_hash);}}else{new_hash_key=Object.keys(new_hash)[0]new_hash_value=new_hash[n

javascript - 鉴于 V8/spidermonkey/chakra 的内部工作原理,在 JavaScript 中显式初始化 undefined object 成员是否是一种优化?

在JavaScript中,一个通常被吹捧的良好性能原则是避免改变对象的形状。这让我想知道,这是不是classFoo{constructor(){this.bar=undefined;}baz(x){this.bar=x;}}一个有值(value)的最佳实践,将提供比这更好的性能classFoo{constructor(){}baz(x){this.bar=x;}}这是真的还是假的?为什么?在一个JS引擎中是否比其他引擎更真实或更不真实? 最佳答案 这里是V8开发人员。是的,总的来说,第一个版本是一个有值(value)的最佳实践。这样

javascript - 如何在 js 中同时检查 null 和 undefined?

是否可以在javascript中同时检查null和undefined?if(_var==null||_var==undefined){} 最佳答案 在JavaScript(ECMAScript5之前)中,undefined不是常量,而是全局变量,因此可以更改其值。因此,使用typeof运算符来检查undefined会更可靠:if(typeof_var==='undefined'){}此外,如果未声明变量_var,您的表达式将返回ReferenceError。但是,您仍然可以使用typeof运算符对其进行测试,如上所示。因此,您可能更

javascript - 谷歌地图未捕获类型错误 : Cannot read property 'LatLng' of undefined

我不断收到此错误“未捕获的类型错误:无法读取未定义的属性‘LatLng’”尝试创建map时在头部:................functioninit(){varlatlng=newgoogle.maps.LatLng(-43.552965,172.47315);varmyOptions={zoom:10,center:latlng,mapTypeId:google.maps.MapTypeId.ROADMAP};map=newgoogle.maps.Map(document.getElementById("map"),myOptions);}................

javascript - Fabric.js 子类化 fabric.Group - 错误 : "Cannot read property ' async' of undefined"when load from JSON

有以下问题:尝试继承fabric.Group:varCustomGroup=fabric.util.createClass(fabric.Group,{type:'customGroup',initialize:function(objects,options){options||(options={});this.callSuper('initialize',objects,options);this.set('customAttribute',options.customAttribute||'undefinedCustomAttribute');},toObject:functi

javascript - "Unable to get property ' getData ' of undefined or null reference"在 IE 但不是 Chrome

感谢另一位成员的帮助,我成功地实现了一个JS方法,该方法能够粘贴excel数据并将其拆分为HTML文本框表格形式(seethread)。我现在面临的问题是这只在Chrome中有效,而IE10和IE11都标记了以下错误:“无法获取未定义或空引用的属性‘getData’。”此错误在函数的第2行(如下)中抛出:function(event){varinput_id=$(this).attr("id");varvalue=event.originalEvent.clipboardData.getData('text/plain');//ERRORinIE/*...*/event.prevent

javascript - 未捕获的类型错误 : Cannot read property 'toUpperCase' of undefined react state item

我是React和Javascript的新手,我正在尝试呈现以下React组件:'usestrict';varReact=require('react');importToReadListfrom'./toreadlist.js';varToRead=React.createClass({getInitialState:function(){return{bookTitles:[]};},handleSubmit:function(e){e.preventDefault();this.state.bookTitles.push(React.findDOMNode(this.refs.bo

javascript - rollup.JS 和 "' 这个关键字相当于 'undefined'

我正在尝试使用Rollup.js捆绑Angular2模块。这是我的rollup.config.vendor.js文件:importtypescriptfrom'rollup-plugin-typescript2';importresolvefrom'rollup-plugin-node-resolve';importcommonjsfrom'rollup-plugin-commonjs';exportdefault{entry:'vendor.ts',dest:'./Bundle/vendor.js',format:'iife',moduleName:'vendor',plugins:

javascript - 如何防止 Closure Compiler 重命名 "true"、 "false"和 "null"

GoogleClosureCompiler重命名代码中出现的所有“true”、“false”和“null”;vars=true,x=null,V=false;并改用这些缩写;在诸如;if(someVariable==s)现在;GoogleAnalytics代码定义了它自己的“s”变量;覆盖值“true”;如您所见,这会导致很多问题。我不想更改GA代码;我只想让ClosureCompiler停止重命名true等。Externs不起作用。你知道有什么方法可以做到这一点吗? 最佳答案 事实证明,可以通过命令行代码中名为“output_wr

javascript - 在一种情况下检查 NaN、null 和 >=0

我有一个变量a;它的值可以是NaN、null和任何+ve/-ve数字,包括0。我需要一个条件来过滤掉a的所有值,这样只有>=0值在if条件下产生true。实现此目标的最佳方法是什么,我不希望使用||加入3个不同的条件 最佳答案 typeofx=="number"&&x>=0工作原理如下:null--typeofnull=="object"所以表达式的第一部分返回falseNaN--typeofNaN=="number"但NaN不大于、小于或等于包括自身在内的任何数字,因此表达式的第二部分返回falsenumber--大于或等于零的任